home *** CD-ROM | disk | FTP | other *** search
/ Info-Mac 4 / Info_Mac IV CD-ROM (Pacific HiTech Inc.)(August 1994).iso / Development / Source / PlainText / PlainText.h < prev    next >
Text File  |  1994-02-01  |  9KB  |  330 lines

  1. #ifndef __DEFINES__
  2. #define __DEFINES__
  3.  
  4. #ifdef __REDUMP__
  5.  
  6. /*-------------------------------- Defines -------------------------------*/
  7.  
  8. #define    NIL    0L
  9. #define TRUE 1
  10. #define FALSE 0
  11.  
  12. #define    LEFTARROW            28
  13. #define    RIGHTARROW            29
  14. #define UPARROW                30
  15. #define DOWNARROW            31
  16. #define    TAB                    '\t'
  17. #define DELETE                0x08
  18. #define    RETURN                0x0D
  19. #define    ENTER                0x03
  20. #define LINEFEED            0x0A
  21.  
  22. #define iYes 1
  23. #define iNo 3
  24. #define iCancel 2
  25. #define kMaxShort 32767
  26.  
  27. /* File Menu Items */
  28. #define iNew                1
  29. #define iOpen                2
  30. #define iClose                4
  31. #define iSave                5
  32. #define iSaveAs                6
  33. #define iSaveACopy            7
  34. #define iRevert                8
  35. #define iPageSetup            10
  36. #define iPrint                11
  37. #define iQuit                13
  38.  
  39. /* Edit Menu Items */
  40. #define iUndo                1
  41. #define iCut                3
  42. #define iCopy                4
  43. #define iPaste                5
  44. #define iClear                6
  45. #define iSelectAll            8
  46. #define iShowClipboard        9
  47. #define iFormat                11
  48. #define iAlign                13
  49. #define iShiftRight            14
  50. #define iShiftLeft            15
  51. #define iWorksheet            17
  52.  
  53. /* Find Menu Items */
  54. #define iFind                1
  55. #define iFindSame            2
  56. #define iFindSelection        3
  57. #define iDisplaySelection    4
  58. #define iReplace            6
  59. #define iReplaceSame        7
  60.  
  61. /* Mark Menu Items */
  62. #define iMark                1
  63. #define iUnmark                2
  64. #define iAlphabetical        3
  65.  
  66. /* Window Menu Items */
  67. #define iTileWindows        1
  68. #define iStackWindows        2
  69.  
  70. /* Convert Menu Items */
  71. #define iStr2Curly            1
  72. #define iCurly2Str            2
  73. #define iAddLf                4
  74. #define iStripLf            5
  75. #define iCRtoLF                6
  76. #define iLFtoCR                7
  77. #define iFormParagraphs        9
  78. #define iWWtoWindow            10
  79. #define iWWtoLength            11
  80. #define iTabstoSpaces        13
  81. #define iSpacestoTabs        14
  82.  
  83. /* Printing Parameters */
  84.  
  85. #define LeftMargin            36
  86. #define TopMargin            36
  87. #define BottomMargin        36
  88.  
  89. #define gMyScrpHandle TE32KScrpHandle
  90. #define gMyScrpLength TE32KScrpLength
  91.  
  92. #define MAXWINDS 10
  93. #define    nullStopMask 0
  94.  
  95. #define rProcessFilesDialog 132
  96. #define rMoreOptions 134
  97. #define rRequestDialog 135
  98. #define rUnmarkDialog 136
  99. #define rConfirmDialog 141
  100. #define rRoseParameters 142
  101. #define rConfigureDataPage 143
  102. #define TitlePageDialog 138
  103. #define DataPageDialog 139
  104. #define    MessageDialog 258
  105.  
  106. #define DESK_ID    128
  107. #define    FILE_ID    129
  108. #define EDIT_ID    130
  109. #define FIND_ID    131
  110. #define MARK_ID    132
  111. #define WINDOW_ID 133
  112. #define CONVERT_ID 134
  113.  
  114. #define Sys6Glues 1
  115.  
  116. /*----------------------------- Errors ---------------------------------*/
  117.  
  118. #define OutOfMemory -1
  119. #define DiskErr -2
  120. #define PagingError -3
  121.  
  122. /*----------------------------- TypeDefs ---------------------------------*/
  123.  
  124. typedef void(*EventMethod)(WindowPtr, EventRecord *) ;
  125. typedef void(*WindowMethod)(WindowPtr) ;
  126. typedef void(*RectMethod)(WindowPtr, Rect *) ;
  127. typedef int(*IntMethod)(WindowPtr) ;
  128.  
  129. /*-------------------- Scrolling Document Record -------------------*/
  130.  
  131. struct DocumentRecord {
  132.     DialogRecord     docWindow;
  133.     ControlHandle    hScroll;
  134.     ControlHandle    vScroll;
  135.     short            hOffset,vOffset;
  136.     Handle            docData;
  137.     OSType            fDocType;
  138.     FSSpec            fileSpecs;
  139.     short            windResource;
  140.     long            dataPathRefNum;
  141.     long            resourcePathRefNum;
  142.     THPrint            fPrintRecord;
  143.     Boolean            fFileOpen;
  144.     Boolean            fDocWindow;
  145.     Boolean            fNeedtoSave;
  146.     Boolean            fNeedtoUpdateMarks;
  147.     Boolean            fNeedtoSaveAs;
  148.     Boolean            fHaveSelection;
  149.     Boolean            fCanUndo;
  150.     Boolean            fReadOnly;
  151.     Rect            limitRect;
  152.     ProcPtr            docClik;
  153.     WindowPtr        homeWindow;
  154.     WindowPtr        associatedWindow;
  155.     Handle            marks;
  156.     Handle            windowState;
  157.     MenuHandle        markMenu;
  158.  
  159.     Boolean (*makeWindow)(WindowPtr);
  160.     Boolean (*initDoc)(WindowPtr);
  161.     Boolean (*openDocFile)(WindowPtr);
  162.     WindowMethod    destructor;
  163.     
  164.     /* Event actions */
  165.     EventMethod        doTheUpdate;
  166.     void(*draw)(WindowPtr,Rect *,short);
  167.     EventMethod        doActivate;
  168.     WindowMethod    activate;
  169.     WindowMethod    deactivate;
  170.     
  171.     EventMethod        doContent;
  172.     EventMethod        doKeyDown;
  173.     WindowMethod    doIdle;
  174.     void(*adjustCursor)(WindowPtr,Point);
  175.     EventMethod        doGrow;
  176.     void(*doZoom)(WindowPtr,short);
  177.     
  178.     /* Edit menu and clipboard functions */
  179.     Boolean (*doDocMenuCommand)(WindowPtr,short,short,short);
  180.     WindowMethod    adjustDocMenus;
  181.     WindowMethod    doCut;
  182.     WindowMethod    doCopy;
  183.     WindowMethod    doPaste;
  184.     WindowMethod    doClear;
  185.     WindowMethod    doSelectAll;
  186.     WindowMethod    doUndo;
  187.  
  188.     IntMethod        readDocFile;
  189.     IntMethod        writeDocFile;
  190.     IntMethod        writeDocResourceFork;
  191.  
  192.     WindowMethod    doPageSetup;
  193.     WindowMethod    doPrint;
  194.     
  195.     /* Scrolling methods */
  196.     WindowMethod    focusOnContent;
  197.     WindowMethod    focusOnWindow;
  198.     WindowMethod    adjustScrollBars;
  199.     short(*getVertSize)(WindowPtr);
  200.     short(*getHorizSize)(WindowPtr);
  201.     short(*getVertLineScrollAmount)(WindowPtr);
  202.     short(*getHorizLineScrollAmount)(WindowPtr);
  203.     short(*getVertPageScrollAmount)(WindowPtr);
  204.     short(*getHorizPageScrollAmount)(WindowPtr);
  205.     
  206.     WindowMethod    displaySelection;
  207.     
  208.     void(*scrollContents)(WindowPtr,short,short);
  209.     WindowMethod    setScrollBarValues;
  210.     RectMethod        getContentRect;
  211.     
  212. } ;
  213.  
  214. typedef struct DocumentRecord DocumentRecord;
  215. typedef DocumentRecord *DocumentPeek;
  216.  
  217. typedef struct {
  218.     long selStart;
  219.     long selEnd;
  220.     char label;
  221. } MarkRec, *MarkRecPtr;
  222.  
  223. typedef struct {        /* MPSR 1005 */
  224.     short fontSize;
  225.     char fontName[32];
  226.     short fontWidth;    /* 0006 */
  227.     short tabWidth;        /* 0004 */
  228.     Rect userState;
  229.     Rect stdState;
  230.     unsigned long modifiedDate;
  231.     long selStart;
  232.     long selEnd;
  233.     long vScrollValue;
  234.     unsigned char wordWrap;    
  235.     unsigned char showInvisibles;    
  236. } MPSRWindowResource, *MPSRPtr;
  237.  
  238. struct AEinstalls {
  239.     AEEventClass theClass;
  240.     AEEventID theEvent;
  241.     EventHandlerProcPtr theProc;
  242. };
  243. typedef struct AEinstalls AEinstalls;
  244.  
  245. /*--------------------------- Declarations --------------------------------*/
  246.  
  247. extern int DoClose(WindowPtr);
  248. extern int DoSave(WindowPtr);
  249. extern int DoSaveAs(WindowPtr);
  250. extern int DoSaveACopy(WindowPtr);
  251. extern int DoRevert(WindowPtr);
  252. extern char *ConditionFileName(char *);
  253. extern DocumentPeek MakeDoc(OSType, FSSpecPtr);
  254. extern pascal void doButton(DialogPtr,short);
  255. extern Boolean openDocFile(WindowPtr);
  256. extern void ShowDocWindow(WindowPtr);
  257. extern void CloseDocFile(DocumentPeek);
  258. extern void DeleteDoc(DocumentPeek);
  259. extern void AdjustMenus(WindowPtr);
  260. extern void FatalError(void);
  261. extern WindowPtr TargetWindow(void);
  262. extern WindowPtr FrontLayer(void);
  263. extern WindowPtr OpenNamedFile(Str255);
  264. extern MarkRecPtr GetIndMark(Ptr, short);
  265. extern void UpdateMarks(DocumentPeek,long,long,long,long);
  266. extern void InsertMark(DocumentPeek,int,int,char *);
  267. extern void DoUnmark(DocumentPeek,int,int);
  268. extern void UpdateList (ListHandle);
  269. extern void SizeScrollBars(WindowPtr);
  270. extern Boolean SetTERect(WindowPtr);
  271.  
  272. extern pascal OSErr glueFSMakeFSSpec(short,long,ConstStr255Param,FSSpecPtr);
  273. extern pascal void glueStandardGetFile(FileFilterProcPtr,short, SFTypeList, StandardFileReply *);
  274. extern pascal void glueStandardPutFile(ConstStr255Param,ConstStr255Param, StandardFileReply *);
  275. extern OSErr GetVolRefNum(char *name,short *volID);
  276. extern pascal Boolean DialogStandardKeyDown(DialogPtr, EventRecord *, short *);
  277. extern void doDiagnosticMessage(short, short);
  278.  
  279. extern void StraightToCurly(WindowPtr);
  280. extern void CurlyToStraight(WindowPtr);
  281. extern void AddLinefeeds(WindowPtr);
  282. extern void StripLinefeeds(WindowPtr);
  283. extern void LinefeedstoReturns(WindowPtr);
  284. extern void ReturnstoLinefeeds(WindowPtr);
  285. extern void WordWrap(WindowPtr,Boolean);
  286.  
  287. extern void TabsToSpaces(WindowPtr);
  288. extern void SpacesToTabs(WindowPtr);
  289. extern void FormParagraphs(WindowPtr);
  290. extern void EnTabAndShift(WindowPtr,int);
  291.  
  292. extern void SetDocWindowTitle(WindowPtr,Str255);
  293. Boolean isEditKey(EventRecord *theEvent);
  294.  
  295. /*------------------------------ Macros ---------------------------------*/
  296.  
  297. #define sizeofMark(m) (9+((MarkRecPtr)(m))->label)
  298. #define setDocName(doc,str) BlockMove(str,(doc)->fileSpecs.name,*str+1)
  299. #define pascstr(str) (*((str)+*(str)='\0',(str)+1)
  300. #define isfullpath(str) (*(str)!=':' && strchr((str)+1,':'))
  301. #define DialogStandardFilter DialogStandardKeyDown
  302.  
  303. /*----------------------------- Method Macros ---------------------------------*/
  304.  
  305. #define AdjustScrollBars(w) (*((DocumentPeek)(w))->adjustScrollBars)(w)
  306. #define ScrollContents(w,h,v) (*(((DocumentPeek)w)->scrollContents))(w,(h),(v))
  307. #define DoActivate(w,e) (*((DocumentPeek)(w))->doActivate)((WindowPtr)(w),(e))
  308. #define DoContent(w,e) (*((DocumentPeek)(w))->doContent)((WindowPtr)(w),(e))
  309. #define DoTheUpdate(w,e) (*((DocumentPeek)(w))->doTheUpdate)((WindowPtr)(w),(e))
  310. #define SetScrollBarValues(w) (*((DocumentPeek)(w))->setScrollBarValues)(w)
  311. #define OpenDocFile(w) (*((DocumentPeek)(w))->openDocFile)(w)
  312. #define WriteDocFile(w) (*((DocumentPeek)(w))->writeDocFile)(w)
  313. #define ReadDocFile(w) (*((DocumentPeek)(w))->readDocFile)(w)
  314. #define FocusOnContent(w) (*((DocumentPeek)(w))->focusOnContent)(w)
  315. #define FocusOnWindow(w) (*((DocumentPeek)(w))->focusOnWindow)(w)
  316. #define DisplaySelection(w) (*((DocumentPeek)(w))->displaySelection)(w)
  317.  
  318. #define SetMenuAbility(m,i,b) (b)?EnableItem(m,i):DisableItem(m,i)
  319. #define RectWidth(r) (r).right-(r).left
  320. #define RectHeight(r) (r).bottom-(r).top
  321. #define GetContentRect(w,r) (*(((DocumentPeek)w)->getContentRect))(w,r) 
  322. #define GetVertSize(w) (*(((DocumentPeek)w)->getVertSize))(w)
  323. #define GetHorizSize(w) (*(((DocumentPeek)w)->getHorizSize))(w)
  324.  
  325. #else
  326. #pragma load "PTHeaders"
  327. #endif
  328.  
  329. #endif
  330.